Louis Person [Fri, 5 May 2017 20:50:01 +0000 (22:50 +0200)]
Document new behavior of crates.io with the documentation field of the manifest
bors [Thu, 4 May 2017 14:10:01 +0000 (14:10 +0000)]
Auto merge of #3994 - matklad:blacklist, r=alexcrichton
Blacklist some binary names in `cargo new`
r? @alexcrichton
closes #3990
Aleksey Kladov [Thu, 4 May 2017 12:23:38 +0000 (15:23 +0300)]
Blacklist some binary names in `cargo new`
bors [Wed, 3 May 2017 19:38:36 +0000 (19:38 +0000)]
Auto merge of #3991 - alexcrichton:better-errors, r=matklad
Improve configuration load errors
Add some more context information on the backtrace
Alex Crichton [Wed, 3 May 2017 16:57:37 +0000 (09:57 -0700)]
Improve configuration load errors
Add some more context information on the backtrace
bors [Tue, 2 May 2017 18:35:07 +0000 (18:35 +0000)]
Auto merge of #3951 - alexcrichton:lift-cdylib, r=alexcrichton
Don't use `-C metadata` cdylibs like we do with dylibs
Dylibs don't get any metadata/extra filename info applied to them as "final
targets" because it can mess with system-specific information (e.g. on OSX) so
this just applies the same logic to cdylibs which need similar treatment on more
platforms (like Windows).
Closes #3934
Alex Crichton [Mon, 24 Apr 2017 20:41:27 +0000 (13:41 -0700)]
Don't use `-C metadata` cdylibs like we do with dylibs
Dylibs don't get any metadata/extra filename info applied to them as "final
targets" because it can mess with system-specific information (e.g. on OSX) so
this just applies the same logic to cdylibs which need similar treatment on more
platforms (like Windows).
Closes #3934
bors [Tue, 2 May 2017 14:12:33 +0000 (14:12 +0000)]
Auto merge of #3988 - sdroege:bench-all, r=alexcrichton
Add support for benchmarking all members of a workspace with "bench --all"
Same behaviour as "build --all" and others.
See https://github.com/rust-lang/cargo/issues/2878#issuecomment-
298302043
Sebastian Dröge [Tue, 2 May 2017 13:46:30 +0000 (16:46 +0300)]
Add tests for "bench --all"
These are basically the same as the ones from "test --all" and "doc --all"
Sebastian Dröge [Tue, 2 May 2017 13:46:01 +0000 (16:46 +0300)]
Add support for benchmarking all members of a workspace with "bench --all"
Same behaviour as "build --all" and others.
bors [Sun, 30 Apr 2017 08:23:23 +0000 (08:23 +0000)]
Auto merge of #3980 - Keruspe:master, r=alexcrichton
update libgit2-sys for libressl compat
Marc-Antoine Perennou [Sun, 30 Apr 2017 06:51:19 +0000 (08:51 +0200)]
fix build-auth test
libgit2 somehow reverted the version back to 0.25.0 after the 0.25.1 release
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Marc-Antoine Perennou [Sun, 30 Apr 2017 06:08:23 +0000 (08:08 +0200)]
update libgit2-sys for libressl compat
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
bors [Sat, 29 Apr 2017 17:42:46 +0000 (17:42 +0000)]
Auto merge of #3977 - rap2hpoutre:patch-1, r=alexcrichton
Added a base font size
See https://github.com/rust-lang/crates.io/pull/689 (ping @carols10cents)
A base font size was added to crates.io, here is the same addition for docs.crate.io
Raphaël Huchet [Sat, 29 Apr 2017 10:42:56 +0000 (12:42 +0200)]
Added a base font size
bors [Fri, 28 Apr 2017 16:26:07 +0000 (16:26 +0000)]
Auto merge of #3970 - golddranks:master, r=alexcrichton
exec (replace the current process) external subcommands instead of running them as child processes.
This fixes https://github.com/rust-lang/cargo/issues/3959 (tested to be working with my yet-to-be-published subcommand, and tested not to break things with `cargo tree` and `cargo outdated`).
Pyry Kontio [Fri, 28 Apr 2017 05:03:06 +0000 (14:03 +0900)]
exec (replace the current process) external subommands instead of running them as child processes.
bors [Fri, 28 Apr 2017 03:12:07 +0000 (03:12 +0000)]
Auto merge of #3963 - alexcrichton:bump, r=alexcrichton
Bump to 0.20.0
Alex Crichton [Thu, 27 Apr 2017 16:18:04 +0000 (09:18 -0700)]
Bump to 0.20.0
bors [Thu, 27 Apr 2017 19:22:49 +0000 (19:22 +0000)]
Auto merge of #3964 - alexcrichton:update-deps, r=alexcrichton
Update dependencies Cargo uses
Namely update to serde 1.0.0!
Alex Crichton [Thu, 27 Apr 2017 18:37:46 +0000 (11:37 -0700)]
Update dependencies Cargo uses
Namely update to serde 1.0.0!
bors [Thu, 27 Apr 2017 14:48:32 +0000 (14:48 +0000)]
Auto merge of #3961 - malbarbo:android-x86_64, r=alexcrichton
Bump time (0.1.37) and libc (0.2.22)
Marco A L Barbosa [Thu, 27 Apr 2017 14:46:45 +0000 (11:46 -0300)]
Bump time (0.1.37) and libc (0.2.22)
bors [Wed, 26 Apr 2017 20:42:15 +0000 (20:42 +0000)]
Auto merge of #3921 - alexcrichton:less-asserts, r=matklad
Relax overly strict asserts in dependency queue
Don't actually need to assert that these are unique, it works both ways and we
can have flavorful dependency graphs which otherwise trigger the assertions.
Closes #3902
bors [Wed, 26 Apr 2017 15:10:04 +0000 (15:10 +0000)]
Auto merge of #3899 - alexcrichton:vendor-empty-ok, r=matklad
Support vendor dirs with "empty" directories
Looks like when vendor directories are checked into a VCS there's been instances
where deleting a folder in the VCS doesn't fully delete the folder from the
filesystem. This can lead to [spurious errors][moz] that are difficult to debug.
To help handle this tweak directory sources to ignore empty directories or
directories with only dotfiles by default.
[moz]: https://bugzilla.mozilla.org/show_bug.cgi?id=
1342292
Alex Crichton [Thu, 13 Apr 2017 21:40:08 +0000 (14:40 -0700)]
Relax overly strict asserts in dependency queue
Don't actually need to assert that these are unique, it works both ways and we
can have flavorful dependency graphs which otherwise trigger the assertions.
Closes #3902
bors [Wed, 26 Apr 2017 07:25:16 +0000 (07:25 +0000)]
Auto merge of #3955 - RReverser:update-override-docs, r=alexcrichton
Update documentation on overrides
- `target.linker` does not seem to be supported anymore, only `target.$triple.linker` works, so merged these sections.
- Added note about supported `target.$triple.ar`
bors [Wed, 26 Apr 2017 05:48:11 +0000 (05:48 +0000)]
Auto merge of #3947 - matklad:bench-bench, r=alexcrichton
Allow test named `test`
Looks like `srt/test.rs` and `src/bench.rs` used to be default
integraion test and benchmark, but they no longer are.
closes #3932
bors [Wed, 26 Apr 2017 03:32:21 +0000 (03:32 +0000)]
Auto merge of #3956 - jessicah:update-num-cpus-dep, r=alexcrichton
Update num_cpus to 1.4.0 (adds support for Haiku)
This will bring it inline with rustc: https://github.com/rust-lang/rust/pull/41552
Jessica Hamilton [Wed, 26 Apr 2017 03:29:44 +0000 (15:29 +1200)]
Update num_cpus to 1.4.0 (adds support for Haiku)
Ingvar Stepanyan [Wed, 26 Apr 2017 00:32:07 +0000 (01:32 +0100)]
Update documentation on overrides
- target.linker does not seem to be supported anymore, only target.$triple.linker works, so merged these sections.
- Added note about supported target.$triple.ar
bors [Tue, 25 Apr 2017 15:59:59 +0000 (15:59 +0000)]
Auto merge of #3953 - jessicah:haiku-renaming-fix, r=alexcrichton
Haiku: skip renaming if filenames are the same
Jessica Hamilton [Tue, 25 Apr 2017 23:15:41 +0000 (23:15 +0000)]
Haiku: skip renaming if filenames are the same
Jessica Hamilton [Tue, 25 Apr 2017 16:49:09 +0000 (16:49 +0000)]
Haiku: doesn't have SIG_SYS
Jessica Hamilton [Tue, 25 Apr 2017 16:48:26 +0000 (16:48 +0000)]
Haiku: use LIBRARY_PATH in configure
bors [Tue, 25 Apr 2017 05:36:08 +0000 (05:36 +0000)]
Auto merge of #3952 - jessicah:haiku-support, r=alexcrichton
Haiku support
bors [Mon, 24 Apr 2017 19:11:49 +0000 (19:11 +0000)]
Auto merge of #3948 - alexcrichton:update-deps, r=alexcrichton
Update dependencies in Cargo.lock
This also fixes a few CVEs reported with libcurl and libgit2, so pulling in those updates.
bors [Mon, 24 Apr 2017 17:11:58 +0000 (17:11 +0000)]
Auto merge of #3901 - BenWiederhake:all-kinds, r=alexcrichton
Implementation and CLI-support for `--all-$KIND` flags
This implements #3112.
This means all of the following commands are now possible and meaningful:
```
cargo build --all-bins
cargo build --all-tests
cargo test --all-tests
cargo test --all-bins
cargo check --all-bins --all-examples --all-tests --all-benches
```
The commits try to represent the incremental "propagation" of the new feature:
- core functionality (`cargo check --lib` passes)
- CLI suport (`cargo build` passes)
- additional tests (`cargo test` covers new functionality)
Note that `--all` is already reserved to mean "all packages of the workspace", so it can't be used to mean `--all-bins --all-examples --all-tests --all-benches`.
I intend to follow this up by some other PRs, so please do tell me where I could improve.
Alex Crichton [Mon, 24 Apr 2017 14:00:07 +0000 (07:00 -0700)]
Update dependencies in Cargo.lock
Aleksey Kladov [Mon, 24 Apr 2017 12:37:37 +0000 (15:37 +0300)]
Allow test named `test`
Looks like `srt/test.rs` and `src/bench.rs` used to be default
integraion test and benchmark, but they no longer are.
bors [Sun, 23 Apr 2017 16:45:47 +0000 (16:45 +0000)]
Auto merge of #3942 - aidanhs:aphs-no-interactive, r=alexcrichton
Remove docker flags that can cause issues
See rust-lang/rust#39036
Aidan Hobson Sayers [Sun, 23 Apr 2017 16:08:18 +0000 (17:08 +0100)]
Remove docker flags that can cause issues (rust-lang/rust#39036)
bors [Wed, 19 Apr 2017 02:19:25 +0000 (02:19 +0000)]
Auto merge of #3887 - luser:rustc-wrapper, r=alexcrichton
Add support for wrapping cargo's rustc invocations by setting RUSTC_WRAPPER
To use sccache for cargo builds we need a simple way to get sccache into the rustc commandline when cargo invokes rustc. Currently this is only possible by hard-linking or copying the `sccache` binary to be named `rustc` and then either setting `RUSTC` to its path or putting it first in `$PATH`, both of which are sort of clunky and require manual steps even if installing sccache via `cargo install`.
This patch adds support for a `RUSTC_WRAPPER` environment variable which, if set, will simply be inserted as the actual binary for all rustc process execution, with rustc and all other rustc arguments following.
I didn't add any tests for this, I couldn't figure out the right place to put them, and presumably we'd need to build a helper binary of some sort to use as the wrapper. If you've got suggestions for how to do that properly I'd be happy to write tests.
This works well in my local testing:
```
luser@eye7:/build/read-process-memory$ /build/cargo/target/release/cargo clean; time RUSTC_WRAPPER=/build/sccache2/target/release/sccache RUSTC=/home/luser/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/rustc /build/cargo/target/release/cargo build
Compiling getopts v0.2.14
Compiling log v0.3.6
Compiling libc v0.2.16
Compiling rand v0.3.14
Compiling pulldown-cmark v0.0.3
Compiling tempdir v0.3.5
Compiling skeptic v0.5.0
Compiling read-process-memory v0.1.2-pre (file:///build/read-process-memory)
Finished dev [unoptimized + debuginfo] target(s) in 7.31 secs
real 0m7.733s
user 0m0.060s
sys 0m0.036s
luser@eye7:/build/read-process-memory$ /build/cargo/target/release/cargo clean; time RUSTC_WRAPPER=/build/sccache2/target/release/sccache RUSTC=/home/luser/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/rustc /build/cargo/target/release/cargo build
Compiling getopts v0.2.14
Compiling libc v0.2.16
Compiling log v0.3.6
Compiling pulldown-cmark v0.0.3
Compiling rand v0.3.14
Compiling tempdir v0.3.5
Compiling skeptic v0.5.0
Compiling read-process-memory v0.1.2-pre (file:///build/read-process-memory)
Finished dev [unoptimized + debuginfo] target(s) in 0.97 secs
real 0m1.049s
user 0m0.060s
sys 0m0.036s
```
The use of beta rustc is just to pick up the fix for making `--emit=dep-info` faster (which should ship in 1.17). If this patch ships in cargo then in the future developers should simply be able to `cargo install sccache; export RUSTC_WRAPPER=sccache` and `cargo build` as normal, but benefit from local sccache caching.
bors [Tue, 18 Apr 2017 13:54:28 +0000 (13:54 +0000)]
Auto merge of #3926 - froydnj:reenable-nightly-tests, r=alexcrichton
re-enable previously nightly-only tests
These tests all play nicely with Rust 1.16.
Nathan Froyd [Sat, 15 Apr 2017 01:55:41 +0000 (21:55 -0400)]
re-enable previously nightly-only tests
These tests all play nicely with Rust 1.16.
Ted Mielczarek [Fri, 31 Mar 2017 16:39:19 +0000 (12:39 -0400)]
Add support for wrapping cargo's rustc invocations by setting RUSTC_WRAPPER
bors [Tue, 18 Apr 2017 06:12:37 +0000 (06:12 +0000)]
Auto merge of #3928 - andwur:version-not-found-error-msgs, r=alexcrichton
Better error message when a package version is not found
This changes the error message when a package *is* found but there's no
matching version to be a little more helpful.
Old: "no matching package named `<dep name>`"
New: "no matching version `<version>` found for package `<dep name>`"
Fixes #2997
bors [Tue, 18 Apr 2017 04:26:49 +0000 (04:26 +0000)]
Auto merge of #3924 - koivunej:issue_3922, r=alexcrichton
Adjust submodule updating failure reporting
This PR changes output of cargo when updating a dependency fails because of it's submodules cannot be loaded. In my original example this was caused by submodule pointing to a revision which was deleted by force pushing. Fixes #3922.
Before:
```
$ cargo check
Updating git repository `<foo-url>`
error: failed to load source for a dependency on `foo`
Caused by:
Unable to update <foo-url>?rev=hash
To learn more, run the command again with --verbose.
```
After:
```
$ cargo check
Updating git repository `<foo-url>`
error: failed to load source for a dependency on `foo`
Caused by:
Unable to update <foo-url>?rev=hash
Caused by:
Failed to update submodule `submodule`
To learn more, run the command again with --verbose.
```
`--verbose` showing an additional `[9/-3] object not found - no match for id (hash)` has not been changed.
@alexcrichton since we have this nice timezone difference there was no chance of mentoring so far but any comments/suggestions are highly welcome. I'll likely check back on this next week.
bors [Tue, 18 Apr 2017 02:52:17 +0000 (02:52 +0000)]
Auto merge of #3908 - froydnj:overflow-checks, r=alexcrichton
add `overflow-checks` field to profiles
...and pass `-C overflow-checks` to the compiler when necessary.
Fixes #2262.
bors [Tue, 18 Apr 2017 01:16:05 +0000 (01:16 +0000)]
Auto merge of #3930 - alexcrichton:more-clean, r=alexcrichton
Clean some more env vars during tests
Will be required to run tests as part of rust-lang/rust
Alex Crichton [Tue, 18 Apr 2017 00:55:59 +0000 (17:55 -0700)]
Clean some more env vars during tests
Will be required to run tests as part of rust-lang/rust
Andrew Watts [Mon, 17 Apr 2017 12:24:56 +0000 (21:54 +0930)]
Fix #2997: error message when version not found could be improved
This changes the error message when a package *is* found but there's no
matching version to be a little more helpful.
Old: "no matching package named `...`"
New: "no matching version `...` found for package `...`"
Joonas Koivunen [Mon, 17 Apr 2017 12:08:51 +0000 (15:08 +0300)]
git: use lower case in error message
Nathan Froyd [Fri, 7 Apr 2017 16:32:42 +0000 (12:32 -0400)]
add `overflow-checks` field to profiles
...and pass `-C overflow-checks` to the compiler when necessary.
Fixes #2262.
Joonas Koivunen [Fri, 14 Apr 2017 07:55:26 +0000 (10:55 +0300)]
style fixes
Joonas Koivunen [Fri, 14 Apr 2017 05:38:55 +0000 (08:38 +0300)]
git: adjust error on submodule update failure
Now instead of reporting single generic "submodule update failed" a
dependency specific submodule update failed error message will be
reported and shown without --verbose.
Joonas Koivunen [Fri, 14 Apr 2017 05:38:36 +0000 (08:38 +0300)]
git: refactor update_submodule out of loop
Joonas Koivunen [Fri, 14 Apr 2017 03:58:02 +0000 (06:58 +0300)]
reproduce error msg in test case
bors [Wed, 12 Apr 2017 22:28:57 +0000 (22:28 +0000)]
Auto merge of #3919 - malbarbo:openssl-probe, r=alexcrichton
Update openssl-probe to 0.1.1
This helps find ssl certificates on termux (android).
bors [Wed, 12 Apr 2017 20:24:43 +0000 (20:24 +0000)]
Auto merge of #3885 - malbarbo:android-build, r=alexcrichton
Add android build support
This add android build support, including openssl.
Marco A L Barbosa [Wed, 12 Apr 2017 19:49:53 +0000 (16:49 -0300)]
Update openssl-probe to 0.1.1
bors [Wed, 12 Apr 2017 19:03:16 +0000 (19:03 +0000)]
Auto merge of #3847 - SergioBenitez:master, r=alexcrichton
Always emit build script warnings for crates that fail to build
Resolves #3777.
r? @alexcrichton
Marco A L Barbosa [Tue, 11 Apr 2017 20:26:22 +0000 (17:26 -0300)]
Remove android build for aarch64, arm and i686
Marco A L Barbosa [Thu, 30 Mar 2017 23:15:48 +0000 (20:15 -0300)]
Add android build to travis
Marco A L Barbosa [Thu, 30 Mar 2017 23:08:54 +0000 (20:08 -0300)]
Add android Dockerfile
Marco A L Barbosa [Thu, 30 Mar 2017 23:06:54 +0000 (20:06 -0300)]
Add openssl build support for android
bors [Mon, 10 Apr 2017 20:40:50 +0000 (20:40 +0000)]
Auto merge of #3914 - jwilm:specifying-dependencies-replace-note, r=alexcrichton
Add note about Cargo.lock behavior with [replace]
The Cargo.lock behavior when using [replace] can be misleading if one
does not expect multiple versions of the crate to be included. This note
is intended to assure users that this behavior is expected, and it
suggests a way to verify their `[replace]` override is preferred.
I ran into this issue and ended up bugging @alexcrichton about it. Hopefully including this will reduce the support burden on cargo devs :smile:.
Joe Wilm [Mon, 10 Apr 2017 20:24:31 +0000 (13:24 -0700)]
Add note about Cargo.lock behavior with [replace]
The Cargo.lock behavior when using [replace] can be misleading if one
does not expect multiple versions of the crate to be included. This note
is intended to assure users that this behavior is expected, and it
suggests a way to verify their `[replace]` override is preferred.
Ben Wiederhake [Mon, 10 Apr 2017 18:18:08 +0000 (20:18 +0200)]
AllKinds tests: interoperability with '--all'
Ben Wiederhake [Wed, 5 Apr 2017 19:48:15 +0000 (21:48 +0200)]
AllKinds tests: cargo-test
Ben Wiederhake [Wed, 5 Apr 2017 18:50:22 +0000 (20:50 +0200)]
AllKinds tests: cargo-bench, cargo-build
Ben Wiederhake [Fri, 24 Mar 2017 20:20:38 +0000 (21:20 +0100)]
AllKinds tests: cargo-run
Ben Wiederhake [Fri, 24 Mar 2017 21:21:29 +0000 (22:21 +0100)]
Ask for filter specifity instead of 'match'
Ben Wiederhake [Fri, 24 Mar 2017 08:28:35 +0000 (09:28 +0100)]
Adapt binaries to new cargo_compile API
Closes #3112.
Ben Wiederhake [Thu, 23 Mar 2017 22:45:23 +0000 (23:45 +0100)]
Extend Compile API to handle flags like --tests and --bins
bors [Mon, 10 Apr 2017 14:42:41 +0000 (14:42 +0000)]
Auto merge of #3909 - JanLikar:fix/3876, r=alexcrichton
Improve "dirty" error message
Improve the error message stating the working directory has dirty files (files not yet committed).
Fix #3876.
Jan Likar [Sun, 9 Apr 2017 02:20:41 +0000 (04:20 +0200)]
Improve "dirty" error message
Improve the error message stating the working directory has dirty
files (files not yet committed).
Fix #3876.
Sergio Benitez [Sun, 19 Mar 2017 02:33:09 +0000 (19:33 -0700)]
Always emit build script warnings for crates that fail to build
Resolves #3777
bors [Sat, 8 Apr 2017 23:07:02 +0000 (23:07 +0000)]
Auto merge of #3907 - waywardmonkeys:show-default-new, r=alexcrichton
Indicate that --lib is default for new, init.
I often forget for a moment which is the default behavior: `--bin` or `--lib`. This makes it clear in the usage text.
bors [Sat, 8 Apr 2017 21:29:11 +0000 (21:29 +0000)]
Auto merge of #3904 - tee-too:fix-3880, r=alexcrichton
Sort tests so that unit tests are run before integration tests
Fix #3880
bors [Sat, 8 Apr 2017 19:53:03 +0000 (19:53 +0000)]
Auto merge of #3906 - waywardmonkeys:typo-fixes, r=alexcrichton
Fix typos.
Bruce Mitchener [Fri, 7 Apr 2017 09:37:34 +0000 (16:37 +0700)]
Indicate that --lib is default for new, init.
Bruce Mitchener [Fri, 7 Apr 2017 09:32:11 +0000 (16:32 +0700)]
Fix typos.
tee-too [Thu, 6 Apr 2017 14:18:07 +0000 (16:18 +0200)]
Sort tests so that unit tests are run before integration tests
Fix #3880
bors [Wed, 5 Apr 2017 23:36:04 +0000 (23:36 +0000)]
Auto merge of #3898 - jmatraszek:fix_rust_40955, r=alexcrichton
Fix rust-lang/rust 40955
Proposed fix for rust-lang/rust#40955.
I could also work on adding some additional tests, so we have all cases covered and automatically tested.
Alex Crichton [Wed, 5 Apr 2017 23:35:39 +0000 (16:35 -0700)]
Touch up line lengths
Alex Crichton [Tue, 4 Apr 2017 23:28:42 +0000 (16:28 -0700)]
Support vendor dirs with "empty" directories
Looks like when vendor directories are checked into a VCS there's been instances
where deleting a folder in the VCS doesn't fully delete the folder from the
filesystem. This can lead to [spurious errors][moz] that are difficult to debug.
To help handle this tweak directory sources to ignore empty directories or
directories with only dotfiles by default.
[moz]: https://bugzilla.mozilla.org/show_bug.cgi?id=
1342292
Jakub Matraszek [Tue, 4 Apr 2017 21:58:31 +0000 (23:58 +0200)]
Fix rust 40955
bors [Tue, 4 Apr 2017 18:01:01 +0000 (18:01 +0000)]
Auto merge of #3854 - tee-too:fix-3499, r=alexcrichton
Add `[target.'cfg(...)']` syntax for rustc(doc)flags in .cargo/config
Allow to use the Rust `cfg(...)` syntax to configure rust(doc)flags.
The flags are concatenated when a build matches several `cfg`, or
several `cfg` and a $triple.
Fix #3499.
tee-too [Mon, 3 Apr 2017 18:35:23 +0000 (20:35 +0200)]
Add `[target.'cfg(...)']` syntax for rustc(doc)flags in .cargo/config
Allow to use the Rust `cfg(...)` syntax to configure rust(doc)flags.
The flags are concatenated when a build matches several `cfg`, or
several `cfg` and a $triple.
Fix #3499.
bors [Mon, 3 Apr 2017 22:30:12 +0000 (22:30 +0000)]
Auto merge of #3893 - nrc:config-values, r=alexcrichton
Allow a client to override values in a config
The use case here is that the RLS wants to set a project's `target-dir`, but can't do this using a config file (since the user might have their own, and it's a bit hacky) or via an environment variable (because there might be multiple instances of Cargo running on different directories in different threads.
ISTM that the best way to accomplish this is to allow the RLS to override values in the config before we make a workspace from it. However, since the config uses a `LazyCell` for the config values, this is not very nice (if something tries to read a config value before we set them, then there will be an error when we try to set them). However, this meets our needs and is pretty low impact, so it seems like the best solution for now. I'm open to other ideas though.
Nick Cameron [Mon, 3 Apr 2017 02:08:15 +0000 (14:08 +1200)]
Allow a client to override values in a config
bors [Sat, 1 Apr 2017 06:32:23 +0000 (06:32 +0000)]
Auto merge of #3842 - pwoolcoc:add-pijul-vcs-support, r=alexcrichton
Add Pijul support to Cargo
[Pijul](https://pijul.org) is a version control system written in Rust. This commit adds the ability to create a cargo project using pijul as the vcs for the project.
To use it, run `cargo new my-awesome-project --vcs=pijul`
bors [Sat, 1 Apr 2017 01:48:01 +0000 (01:48 +0000)]
Auto merge of #3889 - alexcrichton:toml-fix, r=alexcrichton
Update toml to fix a regression in backcompat
Related to rust-lang/rust#40956
Alex Crichton [Sat, 1 Apr 2017 01:45:55 +0000 (18:45 -0700)]
Update toml to fix a regression in backcompat
Related to rust-lang/rust#40956
Paul Woolcock [Fri, 31 Mar 2017 15:35:58 +0000 (11:35 -0400)]
Add Pijul support to cargo
[Pijul](https://pijul.org) is a version control system written in Rust. This commit adds the ability to create a cargo project using pijul as the vcs for the project.
To use it, run `cargo new my-awesome-project --vcs=pijul`
bors [Fri, 31 Mar 2017 15:50:19 +0000 (15:50 +0000)]
Auto merge of #3878 - ehiggs:revert-template-until-after-rfc, r=alexcrichton
Revert template until after rfc
As discussed in #3860, templates was merged without going through the RFC process. @ssokolow has raised some useful comments which need to be settled before the template system can be put back in.
#3859 was another relevant issue.
bors [Thu, 30 Mar 2017 18:10:07 +0000 (18:10 +0000)]
Auto merge of #3875 - matklad:unused-replace, r=alexcrichton
Fix false positive about unused replace
closes #3861
@chriscoomber thanks for the great repro!
bors [Thu, 30 Mar 2017 15:25:03 +0000 (15:25 +0000)]
Auto merge of #3879 - jbendig:issue_3867, r=alexcrichton
Fix `cargo run` panic when required-features not satisfied
This PR fixes #3867 which is made up of two parts.
The first part involves `cargo run` triggering an assertion after compiling. This is triggered by the single binary selected for compilation being filtered out when required-features is specified and said features are not enabled. The cleanest approach to me involves just sticking a flag into `CompileFilter::Everything`. The flag then triggers the already existing error message when required-features is not satisfied. I think this works best because it localizes what is really a `cargo run` quirk without requiring any boilerplate or duplicate code.
The second part shows `cargo run` bailing when two binaries exist, both with required-features, but only one is resolved to be compiled due to default features. I feel like the current approach is correct because it's consistent with what normally happens when there are multiple binaries. I'm open to changing this, but for now, I've added a test to enforce this behavior.
cc @BenWiederhake: I took a quick peek at your branch to fix #3112 and I noticed that it probably won't merge cleanly with this PR. Just an FYI in case it makes sense to have this merged.
James Bendig [Wed, 29 Mar 2017 20:48:43 +0000 (15:48 -0500)]
Fix `cargo run` panic when required-features not satisfied
Fixes #3867